package Peasants_vs_Landlord;

import java.util.*;

public class Peasants_vs_Landlord_Demo {
	/*
	 * 普通的斗地主操作 没有顺序
	 */
	public static int cnt = 0;
//
//	public static void print_brand(ArrayList<String> a) {
//		for (String s : a) {
//			System.out.print(s + "\t");
//			cnt++;
//			if (cnt == 4) {
//				System.out.println();
//				cnt = 0;
//			}
//		}
//	}
//
//	public static int cnt_P = 0;
//
//	public static void print_brand(String a) {
//		System.out.print(a + '\t');
//		cnt_P++;
//		if (cnt_P == 4) {
//			System.out.println();
//			cnt_P = 0;
//		}
//
//	}
//
//	public static void sort_brand(ArrayList<String> a) 
//	    {Collections.sort(a,new Comparator<String>() {
//			@Override			
//			public int compare(String o1, String o2) {
//			
//				return 0;
//			}
//			
//		});
//		
//	}
//
//	public static void main(String[] args) {
//		// 程序实现模拟洗牌，发牌，看牌
//		// 1-13各4张，+1个大鬼1个小鬼共计54张牌
//		ArrayList<String> brand = new ArrayList<String>();
//		/*
//		 * 形状 ♠ ♣ ♥ ♦
//		 * 
//		 * ♤ ♡ ♢
//		 */
////添牌
////		for (int i = 2; i < 11; i++) {
////			brand.add("♠" + "" + i);
////			brand.add("♣" + "" + i);
////			brand.add("♥" + "" + i);
////			brand.add("♦" + "" + i);
////
////		}
////		brand.add("♠" + "" + "J");
////		brand.add("♣" + "" + "J");
////		brand.add("♥" + "" + "J");
////		brand.add("♦" + "" + "J");
////		brand.add("♠" + "" + "Q");
////		brand.add("♣" + "" + "Q");
////		brand.add("♥" + "" + "Q");
////		brand.add("♦" + "" + "Q");
////		brand.add("♠" + "" + "K");
////		brand.add("♣" + "" + "K");
////		brand.add("♥" + "" + "K");
////		brand.add("♦" + "" + "K");
////		brand.add("♠" + "" + "A");
////		brand.add("♣" + "" + "A");
////		brand.add("♥" + "" + "A");
////		brand.add("♦" + "" + "A");
////		brand.add("BigJoker");
////		brand.add("SmallJoker");
//
//		String color[] = { "♠", "♣", "♥", "♦" };
//		String number[] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
//		// 打乱
//		for (String colors : color) {
//			for (String numbers : number) {
//				brand.add(colors + numbers);
//
//			}
//		}
//		brand.add("小王");
//		brand.add("大王");
//
////		System.out.println(brand);
////		print_brand(brand);
//
//		for (String s : brand) {
//			print_brand(s);
//		}
//		Collections.shuffle(brand);
//
//		// 分牌
//		ArrayList<String> landowner = new ArrayList<String>();
//		for (int i = 0; i < 20; i++) {
//			landowner.add(brand.get(i));
//		}
//
//		ArrayList<String> farmer1 = new ArrayList<String>();
//		for (int i = 20; i < 37; i++) {
//			farmer1.add(brand.get(i));
//		}
//
//		ArrayList<String> farmer2 = new ArrayList<String>();
//		for (int i = 37; i < 54; i++) {
//			farmer2.add(brand.get(i));
//		}
//
//		Collections.sort(landowner);
//		System.out.println("地主的牌");
//		System.out.println();
//		System.out.println();
//		System.out.println();
//		print_brand(landowner);
//		System.out.println();
//
//		Collections.sort(farmer1);
//		System.out.println("-------------------");
//		System.out.println("农民的牌");
//		System.out.println();
//		System.out.println();
//		print_brand(farmer1);
//
//		Collections.sort(farmer2);
//		System.out.println();
//		System.out.println("-------------------");
//		System.out.println("农民的牌");
//		System.out.println();
//		System.out.println();
//		print_brand(farmer2);

//	public class Peasants_vs_Landlord_Demo {

	public static void main(String[] args) {
		HashMap<Integer, String> hashmap = new HashMap<Integer, String>();

		ArrayList<String> brand = new ArrayList<String>();

		// 分派牌
		String color[] = { "♠", "♣", "♥", "♦" };
		String number[] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };

		for (String colors : color) {
			for (String numbers : number) {
				brand.add(colors + numbers);

			}
		}
		brand.add("小王");
		brand.add("大王");

		int i = 0;
		while (true) {
			hashmap.put(i, brand.get(i));
			i++;
			if (i == 54)

				break;
		}

		/*
		 * for (Integer key1 : hashmap.keySet()) { String value1 = hashmap.get(key1);
		 * System.out.println(key1 + "," + value1); }
		 */
		// 建立array给key存值给tree用get得value
		ArrayList<Integer> key = new ArrayList<Integer>();
		for (i = 0; i < 54; i++) {
			key.add(i);
		}

		// 打乱
		Collections.shuffle(key);

		TreeSet<Integer> landowner = new TreeSet<Integer>();
		TreeSet<Integer> famers1 = new TreeSet<Integer>();
		TreeSet<Integer> famers2 = new TreeSet<Integer>();
		TreeSet<Integer> belong_landowner = new TreeSet<Integer>();

		// 分牌
		int dizhupaijiexian = key.size() - 3;
		int key_number = key.size();
		for (i = 0; i < key.size(); i++) {
			if (i >= key.size() - 3) {
				belong_landowner.add(key.get(i));
			} else if (i % 3 == 0) {
				landowner.add(key.get(i));
			} else if (i % 3 == 1) {
				famers1.add(key.get(i));
			} else if (i % 3 == 2) {
				famers2.add(key.get(i));
			}
		}

//		for (Integer P_key : key) {
//			String P_value = hashmap.get(P_key);
//			System.out.println(P_value);
//		}

		// '\n'+'\n'+
		System.out.print("地主底牌:");
		for (Integer P_key : belong_landowner) {
			String P_value = hashmap.get(P_key);

			System.out.print(P_value + " ");

		}
		System.out.println();
		System.out.println("地主的牌:");
		for (Integer P_key : landowner) {
			String P_value = hashmap.get(P_key);

			System.out.print(P_value + " ");

		}
		System.out.println();

		System.out.println("农民1的牌");
		for (Integer P_key : famers1) {
			String P_value = hashmap.get(P_key);

			System.out.print(P_value + " ");

		}
		System.out.println();

		System.out.println("农民2的牌：");

		for (Integer P_key : famers2) {
			String P_value = hashmap.get(P_key);

			System.out.print(P_value + " ");

		}
		System.out.println();

	}
}